package com.fowo.api.model.sales;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import javax.validation.constraints.*;
import lombok.Data;

/** 销售出库单 导入导出辅助模型 */
@Data
public class SalesOutboundExcelPo {

  @Size(max = 50, message = "settlement_id长度不能超过20")
  @ExcelProperty(value = "settlement_id")
  private String settlementId;

  @Size(max = 50, message = "结算编号长度不能超过20")
  @ExcelProperty(value = "结算编号")
  private String fid;

  @Size(max = 100, message = "订单号长度不能超过20")
  @ExcelProperty(value = "订单号")
  private String amazonOrderId;

  @Size(max = 50, message = "配送方式长度不能超过20")
  @ExcelProperty(value = "配送方式")
  private String fulfillment;

  @Size(max = 500, message = "店铺名称长度不能超过20")
  @ExcelProperty(value = "店铺名称")
  private String sellerName;

  @Size(max = 50, message = "国家长度不能超过20")
  @ExcelProperty(value = "国家")
  private String countryCode;

  @Size(max = 50, message = "报告类型长度不能超过20")
  @ExcelProperty(value = "报告类型")
  private String accountType;

  @Size(max = 50, message = "来源长度不能超过20")
  @ExcelProperty(value = "来源")
  private String eventType;

  @Size(max = 500, message = "MSKU长度不能超过20")
  @ExcelProperty(value = "MSKU")
  private String sellerSku;

  @Size(max = 100, message = "sku长度不能超过20")
  @ExcelProperty(value = "sku")
  private String localSku;

  @Size(max = 500, message = "品名长度不能超过20")
  @ExcelProperty(value = "品名")
  private String localName;

  @Size(max = 50, message = "交易类型长度不能超过20")
  @ExcelProperty(value = "交易类型")
  private String type;

  @Size(max = 50, message = "结算时间长度不能超过20")
  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "结算时间")
  private java.util.Date postedDateLocale;

  @ExcelProperty(value = "币种")
  private String currencyCode;

  @ExcelProperty(value = "金额")
  private java.math.BigDecimal currencyAmount;

  @Size(max = 500, message = "数量长度不能超过20")
  @ExcelProperty(value = "数量")
  private Integer quantity;

  @Size(max = 50, message = "结算状态长度不能超过20")
  @ExcelProperty(value = "结算状态")
  private String processingStatus;

  @Size(max = 50, message = "转账状态长度不能超过20")
  @ExcelProperty(value = "转账状态")
  private String fundTransferStatus;

  @ExcelProperty(value = "组织")
  private String deptName;

  @ExcelIgnore
  @ExcelProperty(value = "组织")
  private Long dept;

  @ExcelProperty(value = "当期出库成本金额")
  private java.math.BigDecimal currentIssueCostAmount;

  @ExcelProperty(value = "产品id")
  private Long productId;
}
